#include "cache.h"

#include "converter.h"

Cache::Cache()
{
}

Cache::~Cache()
{
}

Value Cache::get( uint32 f_pos )
{
	return values_.at( f_pos );
}

Value Cache::get( string f_string )
{
	return get( Converter::string_double( f_string.substr( 1 ) ) );
}	

uint32 Cache::add( Value f_value )
{
	values_.push_back( f_value );
	return values_.size() - 1;
}

string Cache::add_get( Value f_value )
{
	return "I" + Converter::double_string( add( f_value ) );
}

uint32 Cache::size()
{
	return values_.size();
}

void Cache::clear()
{
	values_.clear();
}
